package pe.gob.bcrp.sgci.gestion.reportes.model.entity.librosprincipales;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.Vector;

import pe.gob.bcrp.sgci.gestion.reportes.model.entity.ReporteVersion;
import pe.gob.bcrp.sgci.gestion.reportes.util.DateUtil;

public class ReporteVersionLibroDiario implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private BigDecimal codRepVerLibDiario;
	private Date fecHasta;
	private BigDecimal codRepVer;
	private Date fecDesde;
	
	//campos relacionados
	private ReporteVersion reporteVersion;//tabla ReporteVersion obtenida por codRepVer
	private Set<ReporteVersionLibroDiarioDetalle> repVerLibDiaDetList;
	
	//campos que no pertenecen a la tabla
	private boolean seleccionado=false; 
	
	public BigDecimal getCodRepVerLibDiario() {
		return codRepVerLibDiario;
	}
	public void setCodRepVerLibDiario(BigDecimal codRepVerLibDiario) {
		this.codRepVerLibDiario = codRepVerLibDiario;
	}
	public Date getFecHasta() {
		return fecHasta;
	}
	public void setFecHasta(Date fecHasta) {
		this.fecHasta = fecHasta;
	}
	public BigDecimal getCodRepVer() {
		return codRepVer;
	}
	public void setCodRepVer(BigDecimal codRepVer) {
		this.codRepVer = codRepVer;
	}
	public Date getFecDesde() {
		return fecDesde;
	}
	public void setFecDesde(Date fecDesde) {
		this.fecDesde = fecDesde;
	}	
	public ReporteVersion getReporteVersion() {
		return reporteVersion;
	}
	public void setReporteVersion(ReporteVersion reporteVersion) {
		this.reporteVersion = reporteVersion;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	public Set<ReporteVersionLibroDiarioDetalle> getRepVerLibDiaDetList() {
		return repVerLibDiaDetList;
	}
	public void setRepVerLibDiaDetList(Set<ReporteVersionLibroDiarioDetalle> repVerLibDiaDetList) {
		this.repVerLibDiaDetList = repVerLibDiaDetList;
	}
	//campos que no pertenecen a la tabla
	public boolean isSeleccionado() {
		return seleccionado;
	}
	public void setSeleccionado(boolean seleccionado) {
		this.seleccionado = seleccionado;
	}
	//metodos de ayuda
	public String getFecDesdeString(){
		return DateUtil.dateToString(this.fecDesde, "yyyy-MM-dd");
	}
	public String getFecHastaString(){
		return DateUtil.dateToString(this.fecHasta, "yyyy-MM-dd");
	}
	public Vector<ReporteVersionLibroDiarioDetalle> getRepVerLibDiaDetVector(){
		Object[] arrObject = getRepVerLibDiaDetList().toArray();
		List list = Arrays.asList(arrObject);
        return new Vector(list);
	}
}
